package com.itany.corejava.code07_面向对象;

/**
 * @author MissChen
 * @version 1.0
 * @date 2023 年11月01日 10:15
 */
public class Test08_方法重载 {
    public static void main(String[] args) {
        Calculator c1=new Calculator();
        int sum=c1.sum(10,20);
        System.out.println(sum);
        double sum2=c1.sum(20.1,40.2);
        System.out.println(sum2);
        double sum3=c1.sum(20,40.2);
        System.out.println(sum3);
        double sum4=c1.sum(20.1,40);
        System.out.println(sum4);
        int sum5=c1.sum(20,40,80);
        System.out.println(sum5);
    }
}
class Calculator{

    // 在一个类中，包含两个及以上同名的方法，这些方法存在不同的参数，称之为重载
    // 用于提供同一种功能的多种实现
    // 方法重载的要求:
    //     同一个类中，方法名相同
    //     参数列表:参数个数、参数类型、顺序至少有一个不同
    public int sum(int i,int j){
        System.out.println("int类型的数的和:");
        return i+j;
    }

    public double sum(double i,double j){
        System.out.println("double类型的数的和:");
        return i+j;
    }
    public double sum(int i,double j){
        return i+j;
    }
    public double sum(double j,int i){
        return i+j;
    }
    public int sum(int i,int j,int k){
        return i+j+k;
    }
}

